package caronas.teste;

import java.util.ArrayList;
import java.util.List;

import caronas.modelo.Ponto;

public class CaminhoAleatorio {
	private final double deltaNS;
	private final double deltaLO;
	private final String labels = "ABCDEFGHIJKLMNOPQRSTUVXZ0123456789";
	private final String[] cores = {"blue", "green", "red"};
	
	private List<Ponto> listaDePontos;
	
	public CaminhoAleatorio() {
		deltaNS = Math.abs(Limites.norte - Limites.sul);
		deltaLO = Math.abs(Limites.leste - Limites.oeste);
		listaDePontos = new ArrayList<Ponto>();
	}
	
	public Ponto geraPonto(Character label, String cor) {
		double latitude = Limites.sul + deltaNS * Math.random();
		double longitude = Limites.oeste + deltaLO * Math.random();
		Ponto ponto = new Ponto(latitude, longitude);
		ponto.setLabel(label);
		ponto.setCor(cor);
		return ponto;
	}
	
	public List<Ponto> geraCaminho(int n) {
		Ponto ponto;
		for (int i = 0; i < n; i++) {
			Character label = labels.charAt(i);
			String cor = cores[i % cores.length];
			ponto = geraPonto(label, cor);
			listaDePontos.add(ponto);
		}
		return listaDePontos;
	}
}
